package com.wisdytech.linkdcs.factory.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.wisdytech.common.bean.Filter;
import com.wisdytech.linkdcs.factory.model.Factory;
import com.wisdytech.linkdcs.system.vo.TreeviewNodeVO;

/**
 * 
 * <p>ClassName: TmFactoryService</p>
 * <p>Description: 厂区服务接口</p>
 * <p>Author: chenbin</p>
 * <p>Date: 2018-5-03</p>
 */
public interface TmFactoryService {
    /**
     * 分页查询厂区列表信息
     * @param factoryCode 厂区编码
     * @param factoryName 厂区名称
     * @param filter 分页条件
     * @return 资源列表信息
     */
	public PageInfo<Factory> listFactoryByFilter(String factoryCode, String factoryName, Filter filter);
    /**
     * 新增厂区
     * @param factory 厂区对象
     * @param loginName 当前等于用户名
     * @return 新增结果集
     */
	public boolean addFactory(Factory factory, String loginName);
    /**
     * 修改厂区
     * @param factory 厂区对象
     * @param loginName 当前等于用户名
     * @return 新增结果集
     */
	public boolean updateFactory(Factory factory, String loginName);
    /**
     * 通过主键id批量删除对应的厂区
     * @param id 主键id
     * @return 删除结果集
     */
	public boolean delFactoryById(String pkId);
    /**
     * 通过主键id查询对应的厂区信息
     * @param id 主键id
     * @return 查询的厂区对象
     */
	public Factory getFactoryById(String pkId);
    /**
     * 获取厂区信息
     * @param search 查询条件
     * @return 厂区集合
     */
	public List<Factory> listAllFactory(String search);
	
	/**
	 * 获取厂区treeNode
	 * @return
	 */
	public List<TreeviewNodeVO> getFactoryTree();
	

}
